<?php

	function show_setpw() {
		
		echo '

			<h1>Passwort ändern</h1>

			<p>Bitte geben Sie Ihr neues Passwort ein.</p>

			<form action="index.php?f=setpw&id='.$_GET['id'].'&code='.$_GET['code'].'" method="post">

				<table class="noborder">

					<tr><th>Passwort:</th><td><input type="password" name="password" value="" /></td></tr>
					<tr><th>Passwort wiederholen:</th><td><input type="password" name="password2" value="" /></td></tr>

					<tr><th></th><td><input type="submit" name="change" value="Passwort ändern" /></td></tr>

				</table>

			</form>

		';
		
	}
	

	if (isset($_GET['id']) AND $_GET['id'] != "" AND isset($_GET['code']) AND $_GET['code'] != "") {

		if (file_exists(config("root")."data/users.xml")) {

			$xmlObj = simplexml_load_file(config("root")."data/users.xml");

			$usersObj = $xmlObj->xpath("user/id[text()='".$_GET['id']."']/..");
			
			if ($usersObj) {

				if ($usersObj[0]->seccode == $_GET['code']) {
					
					if (!isset($_POST['password'])) {
						
						show_setpw();
						
					} else {
						
						if ($_POST['password'] == $_POST['password2'] AND trim($_POST['password']) != "") {
							
							$usersObj[0]->seccode = "";
							$usersObj[0]->password = xmlencode($_POST['password']);

							$save = file_put_contents(config("root")."data/users.xml", $xmlObj->asXML());

							if ($save !== false) {

								echo '

									<h1>Ihr Passwort wurde geändert</h1>
									
									<p class="success">Ihr Passwort wurde geändert. Sie können sich ab sofort mit Ihrem neuen Passwort anmelden.</p>

								';

							} else {
								error("Es ist ein Fehler aufgetreten. Bitte versuchen Sie es später erneut.");
							}
							
						} else {
							error("Die Passwörter stimmen nicht überein.");
							show_setpw();
						}
						
					}
					
				} else {
					error("Bitte fordern Sie einen neuen Link zum Zurücksetzen Ihres Passwortes an.");
				}

			} else {
				
				error("Es wurde kein Benutzerkonto mit dieser ID gefunden. Bitte versuchen Sie es später noch einmal.");
				
			}
		
		} else error("Benutzerliste nicht gefunden. Bitte versuchen Sie es später noch einmal.");
	
	} else {
		error("Die aufgerufene Adresse ist nicht vollständig.");
	}

?>